package leetcode_600;

import java.util.HashMap;
import java.util.Map;

/**
 *@author 周杨
 *LongestHarmoniousSubsequence_594 搜索元素相差为1的子序列长度
 *describe:用map实现 AC 4% 也可以排序后遍历 
 *2018年9月18日 上午10:05:40
 */
public class LongestHarmoniousSubsequence_594 {
	public int findLHS(int[] nums) {
        Map<Integer,Integer> map=new HashMap<Integer,Integer>();
        for(int i:nums) {
        	int count=map.getOrDefault(i, 0);
        	map.put(i, count+1);
        }
        int res=0;
        for(int i:map.keySet()) {
        	int now=map.get(i);
        	int low=map.getOrDefault(i-1, 0);
        	if(low!=0)
        		low+=now;
        	int high=map.getOrDefault(i+1, 0);
        	if(high!=0)
        		high+=now;
        	res=Math.max(res, Math.max(low, high));
        }
        return res;
    }
}
